/**
 * 文件名称: main.c
 * 摘    要: 画图软件入口代码
 * 来    源: huenrong
 *
 * 当前版本: 1.0 
 * 作    者: huenrong
 * 完成日期: 2019-07-28
 **/

#include <stdio.h>
#include <unistd.h>

#include "./touch/touch.h"
#include "./display/display.h"
#include "./display/framebuffer/framebuffer.h"
#include "./display/framebuffer_png/framebuffer_png.h"


extern struct display_info g_display_info;      // 记录当前显示信息

int main(int argc, char *argv[])
{
    int ret = -1;
    int framebuffer_fd = -1;        // framebuffer文件描述符

    framebuffer_fd = open_framebuffer();        // 打开设备framebuffer
    if (-1 == framebuffer_fd)
    {
        printf("open_framebuffer error\r\n");

        return -1;
    }
    
    // 初始化显示信息
    g_display_info.draw_color = RED;        // 默认显示红色
    g_display_info.brush_thickness = THIN_LINE;        // 默认使用细画笔
    g_display_info.eraser_flag = 0;         // 默认擦除标志失能

    framebuffer_display_operating_area();       // 显示操作区域

    update_selected_color();

    update_selected_line();

    ret = creat_display_thread();       // 创建触摸操作处理线程
    if (-1 == ret)
    {
        printf("creat_display_thread error\r\n");
    }

    printf("creat_display_thread ok\r\n");

    ret = creat_touch_thread();       // 创建触摸操作处理线程
    if (-1 == ret)
    {
        printf("creat_touch_thread error\r\n");
    }

    printf("creat_touch_thread ok\r\n");

    while (1);
    
    return 0;
}